// MainWindow.h
#include <QMainWindow>
#include <QGraphicsView>
#include <QLabel>
#include <QTimer>

class Environment;
class Car;
class Camera;

class MainWindow : public QMainWindow {
    Q_OBJECT
public:
    explicit MainWindow(QWidget* parent = nullptr);

private slots:
    void updateSimulation();

private:
    void setupUI();
    void createControls();

    Environment* m_env;
    Car* m_car;
    Camera* m_camera;
    QGraphicsView* m_mainView;
    QLabel* m_cameraView;
    QTimer* m_timer;
};